Digital processing systems and methods for navigating and viewing displayed content

ABSTRACT

System and methods are provided for performing table navigation operations on a display, wherein the table comprises rows and columns and at least one cell that contains more information than presented on the display. Disclosed embodiments include receiving a scroll signal for scrolling the table, wherein the scroll signal results from a motion of a user on the display; in response to a vertical component in the motion, causing the table to scroll vertically; in response to a horizontal component in the motion, causing the table to scroll horizontally; receiving an enhancing scroll signal resulting from an enhancing motion for revealing hidden information within the at least one cell on the table; and in response to the enhancing scroll signal, revealing at least a portion of the hidden information within the at least one cell.

TECHNICAL FIELD

The present disclosure relates generally to information display methodand content navigation. More specifically, this disclosure relates tosystems and methods for navigating and viewing displayed content, suchas by performing table navigation and manipulation operations on acomputer display. Consistent with the disclosed embodiments,non-transitory computer-readable storage media may store programinstructions, which may be executable by at least one processing deviceand perform any of the steps and/or methods described herein.

BACKGROUND

Operation of modern enterprises can be complicated and time-consuming.In many cases, managing the operation of a single project requiresintegration of several employees, departments, and other resources ofthe entity. To manage the challenging operation, project managementsoftware applications may be used. Such software applications allow auser to organize, plan, and manage resources by providingproject-related information in order to optimize the time and resourcesspent on each project.

In addition, project management software applications often rely on theuse of data tables to illustrate the plurality of tasks required by aproject, the distribution of tasks, or the progress of tasks. Most ofthe time, by convention, the width and height of all cells in a tabledisplayed on any display device are the same. If a cell contains aparticularly large piece of information, the entire piece of informationmay not be displayed, which impacts the readability and practicality ofthe table. This is notably true for mobile devices having particularlylimited display dimensions.

Changing the dimensions of such a cell usually requires specificoperations that take time, which has an impact on the efficiency of thetable user. Therefore, it is essential to be able to quickly display allthe information included in the cells on a table, while a user navigatesthrough displayed content. The present disclosure describes solutions toaddress or overcome one or more of the above-stated problems, amongother drawbacks in traditional systems.

SUMMARY

Embodiments consistent with the present disclosure provide systems andmethods for performing table navigation operations on a display. Thedisclosed embodiments may be implemented using a combination ofconventional hardware and software as well as specialized hardware andsoftware.

In an embodiment, a non-transitory computer-readable medium containinginstructions that, when executed, cause at least one processor toperform table navigation operations on a display, wherein the tablecomprises rows and columns and at least one cell that contains moreinformation than presented on the display is disclosed. The operationsmay comprise receiving a scroll signal for scrolling the table, whereinthe scroll signal results from a motion of a user on the display; inresponse to a vertical component in the motion, causing the table toscroll vertically; in response to a horizontal component in the motion,causing the table to scroll horizontally; receiving an enhancing scrollsignal resulting from an enhancing motion for revealing hiddeninformation within the at least one cell on the table; and in responseto the enhancing scroll signal, revealing at least a portion of thehidden information within the at least one cell.

In another embodiment, a method for performing table navigationoperations on a display, wherein the table comprises rows and columnsand at least one cell that contains more information than it presents isdisclosed. The method may comprise: receiving a scroll signal forscrolling the table, wherein the scroll signal results from a motion ofa user on the display; in response to a vertical component in themotion, causing the table to scroll vertically; in response to ahorizontal component in the motion, causing the table to scrollhorizontally; receiving an enhancing scroll signal resulting from anenhancing motion for revealing hidden information within the at leastone cell on the table; and in response to the enhancing scroll signal,revealing at least a portion of the hidden information within the atleast one cell.

In yet another embodiment, a system for performing table navigationoperations on a display, wherein the table comprises rows and columnsand at least one cell that contains more information than it presents isdisclosed. The system may comprise a memory storing instructions and atleast one processor that executes the stored instructions to receive ascroll signal for scrolling the table, wherein the scroll signal resultsfrom a motion of a user on the display; in response to a verticalcomponent in the motion, cause the table to scroll vertically; inresponse to a horizontal component in the motion, cause the table toscroll horizontally; receive an enhancing scroll signal resulting froman enhancing motion for revealing hidden information within the at leastone cell on the table; and in response to the enhancing scroll signal,reveal at least a portion of the hidden information within the at leastone cell.

Other advantages of the invention are set forth in the appended claimswhich form an integral part hereof. The foregoing general descriptionand the following detailed description are exemplary and explanatoryonly and are not restrictive of the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this disclosure, illustrate various disclosed embodiments. Inthe drawings:

FIG. 1 is a flowchart of an exemplary process for performing tablenavigation operations, consistent with disclosed embodiments.

FIG. 2 is an illustration of an exemplary table presented on a displaycomprising rows and columns and at least one cell that contains moreinformation than presented on the display, consistent with disclosedembodiments.

FIGS. 3A-3B are illustrations of exemplary tables presented on a displaycomprising rows and columns after reception of an enhancing scrollsignal, the at least one cell that initially contained more informationthan presented on the display is in an enhanced form, consistent withdisclosed embodiments.

FIG. 4 is a block diagram of an exemplary computing device which may beemployed in connection with embodiments of the present disclosure.

FIG. 5 is a block diagram of an exemplary computing architecture forcollaborative work systems, consistent with embodiments of the presentdisclosure.

DETAILED DESCRIPTION

Disclosed embodiments provide new and improved techniques for navigatingand viewing displayed content, including techniques for dynamicallymodifying display of table content to display all contents of a tablecell, in response to detection of an enhanced scroll signal.

Exemplary embodiments are described with reference to the accompanyingdrawings. The figures are not necessarily drawn to scale. While examplesand features of disclosed principles are described herein,modifications, adaptations, and other implementations are possiblewithout departing from the spirit and scope of the disclosedembodiments. Also, the words “comprising,” “having,” “containing,” and“including,” and other similar forms are intended to be equivalent inmeaning and be open ended in that an item or items following any one ofthese words is not meant to be an exhaustive listing of such item oritems, or meant to be limited to only the listed item or items. Itshould also be noted that as used herein and in the appended claims, thesingular forms “a,” “an,” and “the” include plural references unless thecontext clearly dictates otherwise.

In the following description, various working examples are provided forillustrative purposes. However, is to be understood the presentdisclosure may be practiced without one or more of these details.

Throughout, this disclosure mentions “disclosed embodiments,” whichrefer to examples of inventive ideas, concepts, and/or manifestationsdescribed herein. Many related and unrelated embodiments are describedthroughout this disclosure. The fact that some “disclosed embodiments”are described as exhibiting a feature or characteristic does not meanthat other disclosed embodiments necessarily share that feature orcharacteristic.

This disclosure presents various mechanisms for collaborative worksystems. Such systems may involve software that enables multiple usersto work collaboratively. By way of one example, workflow managementsoftware may enable various members of a team to cooperate via a commononline platform. It is intended that one or more aspects of anymechanism may be combined with one or more aspect of any othermechanisms, and such combinations are within the scope of thisdisclosure.

This disclosure is constructed to provide a basic understanding of a fewexemplary embodiments with the understanding that features of theexemplary embodiments may be combined with other disclosed features ormay be incorporated into platforms or embodiments not described hereinwhile still remaining within the scope of this disclosure. Forconvenience, and form of the word “embodiment” as used herein isintended to refer to a single embodiment or multiple embodiments of thedisclosure.

Certain embodiments disclosed herein include devices, systems, andmethods for collaborative work systems that may allow a user to interactwith information in real time. To avoid repetition, the functionality ofsome embodiments is described herein solely in connection with aprocessor or at least one processor. It is to be understood that suchexemplary descriptions of functionality apply equally to methods andcomputer readable media and constitutes a written description ofsystems, methods, and computer readable media. The underlying platformmay allow a user to structure a systems, methods, or computer readablemedia in many ways using common building blocks, thereby permittingflexibility in constructing a product that suits desired needs. This maybe accomplished through the use of boards. A board may be a tableconfigured to contain items (e.g., individual items presented inhorizontal rows) defining objects or entities that are managed in theplatform (task, project, client, deal, etc.). Unless expressly notedotherwise, the terms “board” and “table” may be considered synonymousfor purposes of this disclosure. In some embodiments, a board maycontain information beyond which is displayed in a table. Boards mayinclude sub-boards that may have a separate structure from a board.Sub-boards may be tables with sub-items that may be related to the itemsof a board. Columns intersecting with rows of items may together definecells in which data associated with each item may be maintained. Eachcolumn may have a heading or label defining an associated data type.When used herein in combination with a column, a row may be presentedhorizontally and a column vertically. However, in the broader genericsense as used herein, the term “row” may refer to one or more of ahorizontal and/or a vertical presentation. A table or tablature as usedherein, refers to data presented in horizontal and vertical rows, (e.g.,horizontal rows and vertical columns) defining cells in which data ispresented. Tablature may refer to any structure for presenting data inan organized manner, as previously discussed. such as cells presented inhorizontal rows and vertical columns, vertical rows and horizontalcolumns, a tree data structure, a web chart, or any other structuredrepresentation, as explained throughout this disclosure. A cell mayrefer to a unit of information contained in the tablature defined by thestructure of the tablature. For example, a cell may be defined as anintersection between a horizontal row with a vertical column in atablature having rows and columns. A cell may also be defined as anintersection between a horizontal and a vertical row, or as anintersection between a horizontal and a vertical column. As a furtherexample, a cell may be defined as a node on a web chart or a node on atree data structure. As would be appreciated by a skilled artisan,however, the disclosed embodiments are not limited to any specificstructure, but rather may be practiced in conjunction with any desiredorganizational arrangement. In addition, tablature may include any typeof information, depending on intended use. When used in conjunction witha workflow management application, the tablature may include anyinformation associated with one or more tasks, such as one or morestatus values, projects, countries, persons, teams, progress statuses, acombination thereof, or any other information related to a task.

While a table view may be one way to present and manage the datacontained on a board, a table's or board's data may be presented indifferent ways. For example, in some embodiments, dashboards may beutilized to present or summarize data derived from one or more boards. Adashboard may be a non-table form of presenting data, using, forexample, static or dynamic graphical representations. A dashboard mayalso include multiple non-table forms of presenting data. As discussedlater in greater detail, such representations may include various formsof graphs or graphics. In some instances, dashboards (which may also bereferred to more generically as “widgets”) may include tablature.Software links may interconnect one or more boards with one or moredashboards thereby enabling the dashboards to reflect data presented onthe boards. This may allow, for example, data from multiple boards to bedisplayed and/or managed from a common location. These widgets mayprovide visualizations that allow a user to update data derived from oneor more boards.

Boards (or the data associated with boards) may be stored in a localmemory on a user device or may be stored in a local network repository.Boards may also be stored in a remote repository and may be accessedthrough a network. In some instances, permissions may be set to limitboard access to the board's “owner” while in other embodiments a user'sboard may be accessed by other users through any of the networksdescribed in this disclosure. When one user makes a change in a board,that change may be updated to the board stored in a memory or repositoryand may be pushed to the other user devices that access that same board.These changes may be made to cells, items, columns, boards, dashboardviews, logical rules, or any other data associated with the boards.Similarly, when cells are tied together or are mirrored across multipleboards, a change in one board may cause a cascading change in the tiedor mirrored boards or dashboards of the same or other owners.

Boards and widgets may be part of a platform that may enable users tointeract with information in real time in collaborative work systemsinvolving electronic collaborative word processing documents. Electroniccollaborative word processing documents (and other variations of theterm) as used herein are not limited to only digital files for wordprocessing, but may include any other processing document such aspresentation slides, tables, databases, graphics, sound files, videofiles or any other digital document or file. Electronic collaborativeword processing documents may include any digital file that may providefor input, editing, formatting, display, and/or output of text,graphics, widgets, objects, tables, links, animations, dynamicallyupdated elements, or any other data object that may be used inconjunction with the digital file. Any information stored on ordisplayed from an electronic collaborative word processing document maybe organized into blocks. A block may include any organizational unit ofinformation in a digital file, such as a single text character, word,sentence, paragraph, page, graphic, or any combination thereof. Blocksmay include static or dynamic information, and may be linked to othersources of data for dynamic updates. Blocks may be automaticallyorganized by the system, or may be manually selected by a user accordingto preference. In one embodiment, a user may select a segment of anyinformation in an electronic word processing document and assign it as aparticular block for input, editing, formatting, or any other furtherconfiguration.

An electronic collaborative word processing document may be stored inone or more repositories connected to a network accessible by one ormore users through their computing devices. In one embodiment, one ormore users may simultaneously edit an electronic collaborative wordprocessing document. The one or more users may access the electroniccollaborative word processing document through one or more user devicesconnected to a network. User access to an electronic collaborative wordprocessing document may be managed through permission settings set by anauthor of the electronic collaborative word processing document. Anelectronic collaborative word processing document may include graphicaluser interface elements enabled to support the input, display, andmanagement of multiple edits made by multiple users operatingsimultaneously within the same document.

Various embodiments are described herein with reference to a system,method, device, or computer readable medium. It is intended that thedisclosure of one is a disclosure of all. For example, it is to beunderstood that disclosure of a computer readable medium describedherein also constitutes a disclosure of methods implemented by thecomputer readable medium, and systems and devices for implementing thosemethods, via for example, at least one processor. It is to be understoodthat this form of disclosure is for ease of discussion only, and one ormore aspects of one embodiment herein may be combined with one or moreaspects of other embodiments herein, within the intended scope of thisdisclosure.

Embodiments described herein may refer to a non-transitory computerreadable medium containing instructions that when executed by at leastone processor, cause the at least one processor to perform a method.Non-transitory computer readable mediums may be any medium capable ofstoring data in any memory in a way that may be read by any computingdevice with a processor to carry out methods or any other instructionsstored in the memory. The non-transitory computer readable medium may beimplemented as hardware, firmware, software, or any combination thereof.Moreover, the software may preferably be implemented as an applicationprogram tangibly embodied on a program storage unit or computer readablemedium consisting of parts, or of certain devices and/or a combinationof devices. The application program may be uploaded to, and executed by,a machine comprising any suitable architecture. Preferably, the machinemay be implemented on a computer platform having hardware such as one ormore central processing units (“CPUs”), a memory, and input/outputinterfaces. The computer platform may also include an operating systemand microinstruction code. The various processes and functions describedin this disclosure may be either part of the microinstruction code orpart of the application program, or any combination thereof, which maybe executed by a CPU, whether or not such a computer or processor isexplicitly shown. In addition, various other peripheral units may beconnected to the computer platform such as an additional data storageunit and a printing unit. Furthermore, a non-transitory computerreadable medium may be any computer readable medium except for atransitory propagating signal.

As used herein, a non-transitory computer-readable storage medium refersto any type of physical memory on which information or data readable byat least one processor can be stored. Examples of memory include RandomAccess Memory (RAM), Read-Only Memory (ROM), volatile memory,nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, anyother optical data storage medium, any physical medium with patterns ofholes, markers, or other readable elements, a PROM, an EPROM, aFLASH-EPROM or any other flash memory, NVRAM, a cache, a register, anyother memory chip or cartridge, and networked versions of the same. Theterms “memory” and “computer-readable storage medium” may refer tomultiple structures, such as a plurality of memories orcomputer-readable storage mediums located within an input unit or at aremote location. Additionally, one or more computer-readable storagemediums can be utilized in implementing a computer-implemented method.The memory may include one or more separate storage devices collocatedor disbursed, capable of storing data structures, instructions, or anyother data. The memory may further include a memory portion containinginstructions for the processor to execute. The memory may also be usedas a working scratch pad for the processors or as a temporary storageAccordingly, the term computer-readable storage medium should beunderstood to include tangible items and exclude carrier waves andtransient signals.

Some embodiments may involve at least one processor. Consistent withdisclosed embodiments, “at least one processor” may constitute anyphysical device or group of devices having electric circuitry thatperforms a logic operation on an input or inputs. For example, the atleast one processor may include one or more integrated circuits (IC),including application-specific integrated circuit (ASIC), microchips,microcontrollers, microprocessors, all or part of a central processingunit (CPU), graphics processing unit (GPU), digital signal processor(DSP), field-programmable gate array (FPGA), server, virtual server, orother circuits suitable for executing instructions or performing logicoperations. The instructions executed by at least one processor may, forexample, be pre-loaded into a memory integrated with or embedded intothe controller or may be stored in a separate memory. The memory mayinclude a Random Access Memory (RAM), a Read-Only Memory (ROM), a harddisk, an optical disk, a magnetic medium, a flash memory, otherpermanent, fixed, or volatile memory, or any other mechanism capable ofstoring instructions. In some embodiments, the at least one processormay include more than one processor. Each processor may have a similarconstruction or the processors may be of differing constructions thatare electrically connected or disconnected from each other. For example,the processors may be separate circuits or integrated in a singlecircuit. When more than one processor is used, the processors may beconfigured to operate independently or collaboratively, and may beco-located or located remotely from each other. The processors may becoupled electrically, magnetically, optically, acoustically,mechanically or by other means that permit them to interact.

Consistent with the present disclosure, disclosed embodiments mayinvolve a network. A network may constitute any type of physical orwireless computer networking arrangement used to exchange data. Forexample, a network may be the Internet, a private data network, avirtual private network using a public network, a Wi-Fi network, a LANor WAN network, a combination of one or more of the forgoing, and/orother suitable connections that may enable information exchange amongvarious components of the system. In some embodiments, a network mayinclude one or more physical links used to exchange data, such asEthernet, coaxial cables, twisted pair cables, fiber optics, or anyother suitable physical medium for exchanging data. A network may alsoinclude a public switched telephone network (“PSTN”) and/or a wirelesscellular network. A network may be a secured network or unsecurednetwork. In other embodiments, one or more components of the system maycommunicate directly through a dedicated communication network. Directcommunications may use any suitable technologies, including, forexample, BLUETOOTH™, BLUETOOTH LE™ (BLE), Wi-Fi, near fieldcommunications (NFC), or other suitable communication methods thatprovide a medium for exchanging data and/or information between separateentities.

Certain embodiments disclosed herein may also include a computing devicefor generating features for work collaborative systems, the computingdevice may include processing circuitry communicatively connected to anetwork interface and to a memory, wherein the memory containsinstructions that, when executed by the processing circuitry, configurethe computing device to receive from a user device associated with auser account instruction to generate a new column of a single data typefor a first data structure, wherein the first data structure may be acolumn oriented data structure, and store, based on the instructions,the new column within the column-oriented data structure repository,wherein the column-oriented data structure repository may be accessibleand may be displayed as a display feature to the user and at least asecond user account. The computing devices may be devices such as mobiledevices, desktops, laptops, tablets, or any other devices capable ofprocessing data. Such computing devices may include a display such as anLED display, augmented reality (AR), virtual reality (VR) display.

Disclosed embodiments may include and/or access a data structure. A datastructure consistent with the present disclosure may include anycollection of data values and relationships among them. The data may bestored linearly, horizontally, hierarchically, relationally,non-relationally, uni-dimensionally, multidimensionally, operationally,in an ordered manner, in an unordered manner, in an object-orientedmanner, in a centralized manner, in a decentralized manner, in adistributed manner, in a custom manner, or in any manner enabling dataaccess. By way of non-limiting examples, data structures may include anarray, an associative array, a linked list, a binary tree, a balancedtree, a heap, a stack, a queue, a set, a hash table, a record, a taggedunion, ER model, and a graph. For example, a data structure may includean XML database, an RDBMS database, an SQL database or NoSQLalternatives for data storage/search such as, for example, MongoDB,Redis, Couchbase, Datastax Enterprise Graph, Elastic Search, Splunk,Solr, Cassandra, Amazon DynamoDB, Scylla, HBase, and Neo4J. A datastructure may be a component of the disclosed system or a remotecomputing component (e.g., a cloud-based data structure). Data in thedata structure may be stored in contiguous or non-contiguous memory.Moreover, a data structure, as used herein, does not require informationto be co-located. It may be distributed across multiple servers, forexample, that may be owned or operated by the same or differententities. Thus, the term “data structure” as used herein in the singularis inclusive of plural data structures.

Certain embodiments disclosed herein may include a processor configuredto perform methods that may include triggering an action in response toan input. The input may be from a user action or from a change ofinformation contained in a user's table or board, in another table,across multiple tables, across multiple user devices, or fromthird-party applications. Triggering may be caused manually, such asthrough a user action, or may be caused automatically, such as through alogical rule, logical combination rule, or logical templates associatedwith a board. For example, a trigger may include an input of a data itemthat is recognized by at least one processor that brings about anotheraction.

In some embodiments, the methods including triggering may cause analteration of data and may also cause an alteration of display of datacontained in a board or in memory. An alteration of data may include arecalculation of data, the addition of data, the subtraction of data, ora rearrangement of information. Further, triggering may also cause acommunication to be sent to a user, other individuals, or groups ofindividuals. The communication may be a notification within the systemor may be a notification outside of the system through a contact addresssuch as by email, phone call, text message, video conferencing, or anyother third-party communication application.

Some embodiments include one or more of automations, logical rules,logical sentence structures and logical (sentence structure) templates.While these terms are described herein in differing contexts, in abroadest sense, in each instance an automation may include a processthat responds to a trigger or condition to produce an outcome; a logicalrule may underly the automation in order to implement the automation viaa set of instructions; a logical sentence structure is one way for auser to define an automation; and a logical template/logical sentencestructure template may be a fill-in-the-blank tool used to construct alogical sentence structure. While all automations may have an underlyinglogical rule, all automations need not implement that rule through alogical sentence structure. Any other manner of defining a process thatrespond to a trigger or condition to produce an outcome may be used toconstruct an automation.

Other terms used throughout this disclosure in differing exemplarycontexts may generally share the following common definitions.

In some embodiments, machine learning algorithms (also referred to asmachine learning models or artificial intelligence in the presentdisclosure) may be trained using training examples, for example in thecases described below. Some non-limiting examples of such machinelearning algorithms may include classification algorithms, dataregressions algorithms, image segmentation algorithms, visual detectionalgorithms (such as object detectors, face detectors, person detectors,motion detectors, edge detectors, etc.), visual recognition algorithms(such as face recognition, person recognition, object recognition,etc.), speech recognition algorithms, mathematical embedding algorithms,natural language processing algorithms, support vector machines, randomforests, nearest neighbors algorithms, deep learning algorithms,artificial neural network algorithms, convolutional neural networkalgorithms, recursive neural network algorithms, linear machine learningmodels, non-linear machine learning models, ensemble algorithms, and soforth. For example, a trained machine learning algorithm may comprise aninference model, such as a predictive model, a classification model, aregression model, a clustering model, a segmentation model, anartificial neural network (such as a deep neural network, aconvolutional neural network, a recursive neural network, etc.), arandom forest, a support vector machine, and so forth. In some examples,the training examples may include example inputs together with thedesired outputs corresponding to the example inputs. Further, in someexamples, training machine learning algorithms using the trainingexamples may generate a trained machine learning algorithm, and thetrained machine learning algorithm may be used to estimate outputs forinputs not included in the training examples. In some examples,engineers, scientists, processes and machines that train machinelearning algorithms may further use validation examples and/or testexamples. For example, validation examples and/or test examples mayinclude example inputs together with the desired outputs correspondingto the example inputs, a trained machine learning algorithm and/or anintermediately trained machine learning algorithm may be used toestimate outputs for the example inputs of the validation examplesand/or test examples, the estimated outputs may be compared to thecorresponding desired outputs, and the trained machine learningalgorithm and/or the intermediately trained machine learning algorithmmay be evaluated based on a result of the comparison. In some examples,a machine learning algorithm may have parameters and hyper parameters,where the hyper parameters are set manually by a person or automaticallyby a process external to the machine learning algorithm (such as a hyperparameter search algorithm), and the parameters of the machine learningalgorithm are set by the machine learning algorithm according to thetraining examples. In some implementations, the hyper-parameters are setaccording to the training examples and the validation examples, and theparameters are set according to the training examples and the selectedhyper-parameters.

Disclosed embodiments may include at least one processor may beconfigured to execute stored instructions to perform table navigationoperations on a display. In some embodiments, the table may compriserows and columns and at least one cell that may contain more informationthan presented on the display. In some embodiments, the table mayinclude a data structure such as a relational database having entriesorganized in rows and columns, with data occupying or potentiallyoccupying each cell formed by a row-column intersection.

As used in this disclosure, the term “display” refers either to anyphysical device capable of providing a visual representation of a tableor directly to a visual representation of a table. Examples of physicaldevices acting as displays may include computer screens, smartphonescreens, tablet screens, smartwatch screens, laptop screens, videowalls, projectors, head-mounted displays or virtual reality headsets.Additionally, displays may utilize graphical user interfaces (GUIs) topermit user interaction with data. In many GUIs, a visual representationof table is often provided using a graphical user interface componentknown as a window. Any visual representation of a device or display maybe characterized by dimensions, these dimensions are limited to thephysical dimensions of the device, and often, a table may not becompletely presented on a display device or fit a window. This drawbackis common among devices with small screens, such as smartphones ortablets. The dimensions of the table cells may therefore be limited bythe dimensions of the display.

Above and throughout this disclosure, the term “information” or “pieceof information” may refer to any type of data with a visualrepresentation, such as text, images, numbers, diagrams, drawings or GUIcomponents that may be included in a table cell. Each piece ofinformation may have an associated size, such as a size that a piece ofinformation may have when fully presented on a display. The associatedsize of an information may be larger than the dimensions of a tablecell, in such a situation the entirety of the information may thereforebe not displayed in the table cell, or fit the table cell. Accordingly,the information may be split into two parts, a first part that isvisible, and presented on a display and a second part that is hidden andnot presented on the display.

FIG. 1 is a flowchart of an exemplary process (100) for performing tablenavigation operations on a display that may be executed by at least oneprocessor. Process 100 is discussed herein for explanatory purposes andis not intended to be limiting. In some embodiments, steps of process100 may be changed, modified, substituted, or rearranged, consistentwith the present disclosure. Process 100 may be implemented using one ormore components of a computing device 400 (discussed in FIG. 4 ) or userdevice 520 of computing architecture 500 (discussed in FIG. 5 ).Disclosed embodiments may include at least one processor that may beconfigured to execute stored instructions to perform table navigationoperations on a display. In some embodiments, the table may compriserows and columns and at least one cell that may contain more informationthan presented on the display. As shown in FIG. 1 , process 100 mayinclude steps 102, 104, 106, 108, and 110, as shown, discussed infurther detail below.

FIG. 2 is an exemplary illustration of a table presented on a displaycomprising rows and columns and at least one cell that contains moreinformation than presented on the display, in accordance with thedisclosed embodiments. FIG. 2 illustrates table 200 comprising aplurality of rows 202 and columns 204 presented on a display 206, thedimensions of which are illustrated by a dotted line. Table 200 cellscomprise different types of information, such as text, pictures,numbers, or dates. Table 200 comprises three cells that contain moreinformation than presented on the display 206. These three cells are allincluded in the first column 204-1 and are located in rows 202-1, 202.3,and 202-7 respectively. The first two cells (202-1/204-1, 202-3/204-1)comprise a text that is not entirely displayed as indicated by thepresence of suspension points. Cell (202-7/204-1) includes a histogram,which is larger in size than cell (202-7/204-1), thus it is displayed ina cropped version where only the top of the histogram is visible. Notein the situation illustrated in FIG. 2 table 200 is not entirelypresented on display 206, the whole of table 200 is shown to get a senseof the actual dimensions of table 200, portions of table 200 that arenot comprised within the dashed line are not presented on display 206.

In some embodiments, all table cells may share at least one commondimension. A common dimension may refer to a common width, a commonheight or both a common height and width. For example, as illustrated inFIG. 2 , table cells from the first column 204-1 are sharing a commonheight with table cells from the other columns (204-2, 204-3, 204-4) butthey have a different width. In some other embodiments, all table cellsmay have different dimensions. The fact that all the cells in the tabledo or do not share at least one common dimension may be the result of aspecific set of instructions. This instruction set may have differentorigins, for example, it can be directly related to the display, thedisplayed table or a user input.

In some embodiments, the table may not be entirely displayed. Forexample, some rows or columns may not be visible as the table does notfit the dimensions of the display. This situation is illustrated in FIG.2 where only the first three columns (204-1 through 204-3) fit withinthe dimensions of display 206. To permit a user to access differentportions of a table that are not displayed a scroll signal for scrollingthe table may be used.

Referring again to FIG. 1 , in step 102, at least one processor mayreceive a scroll signal for scrolling the table, wherein the scrollsignal results from a motion of a user on the display. A scroll signalmay be a command or input that causes a displayed page or document tomove on the display, or in a window on the display, to a particularportion of the page/document. Consistent with disclosed embodiments, thescroll signal may be the result of, for example, a motion performed by auser on a touch-sensitive layer of the display, user control of acomputer mouse or stylus, or computer input with one or more keys on akeyboard. This motion may correspond to manipulating one or more devicecontrols or GUI components such as scroll bars, a particular movementmade by the user or any type of user input related to the display, forscrolling the table. For example, a scroll signal can be the result ofmoving a cursor docked on or near a scroll bar, clicking onincrement/decrement control buttons, using the scroll wheel button of amouse, or a user performing one or more recognized gestures such as aswipe motion relative to the display.

Referring again to FIG. 1 , in step 104, in response to a verticalcomponent in the motion, the at least one processor may cause the tableto scroll vertically. As discussed herein, the display may have avertical dimension extending along a first axis, such as a verticalaxis, and a horizontal dimension extending along a second axisperpendicular to the first axis, such as a horizontal axis. Consistentwith this disclosure, the motion may comprise at least one of a verticalor horizontal component. A vertical or horizontal component of motionmay refer to a part of the direction of motion aligned with the verticalor horizontal axis or to an interaction with a GUI component that causesa scrolling along the vertical or horizontal axis. The at least oneprocessor may be configured to detect a motion of the user using one ormore input devices, such as a touch-sensitive layer of the displayscreen, and analyze the motion to detect one or more of a horizontal orvertical component of the motion. The at least one processor may movethe page vertically, such as upward or downward, on the display, inresponse to the vertical component of the motion.

In step 106, in response to a horizontal component in the motion, the atleast one processor may cause the table to scroll horizontally. Similarto the vertical scroll discussed above, the at least one processor maybe configured to detect a motion of the user using one or more inputdevices, such as a touch-sensitive layer of the display screen, andanalyze the motion to detect a horizontal component of the motion. Theat least one processor may move the page horizontally, such as left orright, on the display, in response to the horizontal component of themotion.

For example, in the situation illustrated in FIG. 2 , a motion with ahorizontal (leftward) component may cause table 200 to scrollhorizontally, which may cause a larger portion of the fourth column204-4 to appear on the display 206. In some embodiments, scrolling thetable may be proportional to a length of the motion. In the context ofthis description, a “length” of the motion may refer to a physicallength, a time duration of motion or a combination thereof.

In step 108, the at least one processor may receive an enhancing scrollsignal resulting from an enhancing motion for revealing hiddeninformation within the at least one cell on the table. In accordancewith the disclosed embodiments, upon reception of an enhancing scrollsignal, portions of the hidden information within the at least one cellmay be revealed, wherein the enhancing scroll signal may be the resultof an enhancing motion for revealing hidden information within the atleast one cell. An enhancing motion may correspond to manipulatingvarious controls on GUI components, a particular movement made by theuser or any type of user input related to the display, for revealinghidden information within the at least one cell. Examples of anenhancing motion may include performing a swipe motion relative to thedisplay that is interpreted differently than the scroll signal,persistently clicking at a particular location of the display, double orrepeatedly tapping a particular location on the display, performing apinching out motion relative to the display, and other motions orcommands that are interpreted differently than a scroll signal due tothe satisfaction of one or more conditions. In some embodiments, theenhancing motion may be different from a motion capable of scrolling thetable horizontally or vertically.

In step 110, in response to the enhancing scroll signal, the at leastone processor may reveal at least a portion of the hidden informationwithin the at least one cell. In some embodiments, responsive to receiptof an enhancing motion, the at least one cell may be displayed in anenhanced form, such that a portion of the hidden information may berevealed.

In some embodiments, revealing the hidden information may beprogressive, and a ratio between an amount of the information revealedand an amount of information initially hidden may be proportional to alength of the enhancing motion. In the context of this description, aprogressive revelation may refer to a situation in which the transitionfrom a state in which some of the information in a table cell is hiddento a state in which all of the information is visible in the table cellis not sudden. Instead, the revelation may proceed continuously or stepby step. For example, if a fairly long text is included in a cell andonly part of it is visible, instead of revealing all the missing wordsat once, the process may be progressive, revealing the hidden part ofthe text word by word or sentence by sentence. To carry out thisprogressive revelation, a ratio between a quantity of revealedinformation and a quantity of information initially hidden, such asprior to any enhancing scroll motion can be used. As an example, one mayconsider a situation where the information contained in a cell is animage and only one-third of the image is visible. Two-thirds of theimage may hidden, and after the revelation process starts, half of theimage may become visible, such that the ratio between the amount ofinformation revealed and the amount of information initially hidden is25%. The revelation process continues, two-thirds of the image is nowvisible, and the ratio is 50%. The process continues and ends when theratio is 100%.

In some embodiments, the ratio may be proportional to a length of theenhancing motion. A length of the motion may include a physical lengthof the motion on the display, a time duration of motion, or acombination thereof. For example, if the enhancing motion corresponds toa swipe motion made by a user across a display, the longer the distanceof the swipe motion across the display, the larger the ratio between thequantity of information revealed to the quantity of informationinitially hidden. In another example, if the enhancing movementcorresponds to a persistent touch of a part of a display, the longer theduration of the persistent touch, the larger the ratio between thequantity of revealed information and the quantity of informationinitially hidden.

In some embodiments, “revealing” hidden information may include makingvisible at least a part of the information that was not previouslyvisible, accessible, or presented on a display. For example, referringto FIG. 2 , revealing the histogram included in cell (202-7/204-1) maycorrespond to displaying the whole histogram.

In some embodiments, the enhancing motion may correspond to a motioncapable of scrolling the table horizontally or vertically. In suchembodiments, a result of the motion may correspond to at least one of:revealing hidden information within the at least one cell on the tableif the motion is performed on a predetermined portion of the display;or, causing the table to scroll horizontally or vertically if the motionis performed on a portion different from the predetermined portion ofthe display. In some embodiments, a predetermined portion of the displaymay refer to a portion of the display having certain characteristics.Examples of a predetermined portion of a display may include, a corner,an edge, or a zone of a display. Consistent with this disclosure,performing a motion capable of scrolling the table horizontally orvertically on a predetermined zone may result in revealing hiddeninformation within at least one cell.

Referring to FIG. 2 , a predetermined portion of display 206 maycorrespond to the leftmost area of display 206 with a heightcorresponding to the height of the display and a width corresponding to10% of the width of the display. If the motion capable of scrolling thetable horizontally is a horizontal swipe motion, a horizontal swipemotion starting within the predetermined portion may result in therevelation of hidden information, and a swipe motion starting outsidethe predetermined portion (for example in the central zone) may resultin the horizontal scrolling of the table.

In some embodiments, revealing the hidden information may cease afterthe enhancing motion terminates. Ceasing to reveal hidden informationmay refer to the end of the revelation process, regardless of whetherall the hidden information in the at least one cell has been revealed.For example, in a situation wherein a ratio between an amount of theinformation revealed and an amount of information initially hidden isproportional to a length of the enhancing motion, the enhancing motionmay terminate before the length of the enhancing motion reach a valuecorresponding to a ratio equal to 100%. In some embodiments, ceasing toreveal hidden information in the at least one cell may compriserestoring an initial situation in which none of the hidden informationin the at least one cell is revealed. For example, if 60% of theinitially hidden information of at least one cell was revealed beforethe enhancing motion terminates after the enhancing motion terminatesthe initial situation in which 0% of the initially hidden information isrevealed will be presented on the display. In some embodiments,restoring the initial situation in which none of the hidden informationin the at least one cell is revealed may be progressive or sudden.

In some embodiments, the hidden information may be revealed for apredetermined time period. Revealing for a predetermined time period mayinvolve the at least one cell remaining in an enhanced form for apredetermined amount of time after the enhancing motion terminates, orafter another trigger consistent with disclosed embodiments. Examples ofa predetermined time period may include 1, 2, 5, 10 seconds or anysuitable time period. In some embodiments, once the predetermined timeis over, the displayed table may revert to its initial appearance, inwhich the revealed information in the at least one cell becomes hiddenagain. For example, if at least one cell is in an enhanced form afterreceiving an enhancement scroll signal, the at least one cell may remainin the enhanced form for a predetermined period of time (for example, 2seconds) before returning to an initial state. In some furtherembodiments, restoring the initial situation in which none of the hiddeninformation in the at least one cell is revealed may be progressive orsudden.

In some embodiments, the enhancing scroll signal may be based on ascroll motion performed beyond an end of the table. An end of the tablemay me associated with any characteristics of the outermost edges,locations, or sides of the table. An ends of a table may include, forexample, a first or last row, a first or last column, outer borders,outer corners, or row or column labels. For example, with reference toFIG. 2 , one end of the table 200 may correspond to the first column204-1, the enhancement movement may be based on a scrolling movementbeyond the first column 204-1, when no scrolling to the left of thetable is possible since the left edge of the first column is displayed.

In some embodiments, the at least one cell may be located at a first endof the table or at a second end of the table opposite the first end. Afirst end of the table may correspond to a first row or column, and asecond end of the table opposite to the first end may correspond to alast row or column. For example, as illustrated in FIG. 2 , the threecells ((202-1/204-1), (202-3/204-1), (202-7/204-1)), that contain moreinformation than presented on the display are all included in the firstcolumn 204-1.

In some further embodiments, wherein the enhancing scroll signal isbased on a scroll motion performed beyond an end of the table, thehidden information may be revealed while the enhanced scroll motion isperformed on a predetermined portion of the display. As mentioned above,a predetermined portion of the display may refer to a portion of thedisplay having certain characteristics. With reference to FIG. 2 , apredetermined portion of display 206 may correspond to the leftmost areaof display 206 with a height corresponding to the height of the displayand a width corresponding to 20% of the width of the display. If theenhancement scroll signal is based on a scrolling motion capable ofscrolling the display horizontally, performed beyond one end of thetable (e.g., the left edge of table 200) as a horizontal swipe motion, aleftward horizontal swipe motion starting inside the predeterminedportion performed beyond the left edge of table 200 may result in therevelation of hidden information, and a leftward horizontal swipe motionstarting outside the predetermined portion performed beyond the leftedge table 200 may result in the table scrolling horizontally to theleft edge of table 200.

In some embodiments where the enhancing scroll signal is based on ascroll motion performed beyond an end of the table, the at least oneprocessor may cause both scrolling and a partial revealing of the hiddeninformation if the scroll signal exceeds a threshold. In the context ofthis description, a threshold may refer to a certain length of a scrollsignal where the scroll signal may be initially executed to scroll thetable and is long enough to scroll the table beyond one end of thetable. Examples of a threshold may include a physical length threshold,a time duration of motion threshold or a combination thereof. Inaccordance with this disclosure, such a scroll signal, rather thanscrolling only to one end of the table, may also cause a partialrevelation of information hidden in at least one cell. A partialrevealing of the hidden information may refer to a certain percentage ofthe information being revealed. In some embodiments, a partial revealingof the hidden information may include revealing a percentage of thehidden information strictly below 100%. A user without prior knowledgeof the existence of an enhancing scrolling motion may discover thisfeature by performing a scrolling signal exceeding the threshold.

In some embodiments, revealing the hidden information may include atleast one of: enlarging the at least one cell in order to present allthe information contained within the at least one cell; or modifying asize of all information contained within the at least one cell to enablepresentation of all the information contained within the at least onecell without changing dimensions of the at least one cell. Enlarging theat least one cell may refer to increasing at least one of the dimensionsof the at least one cell. Modifying a size of all information containedwithin the at least one cell without changing dimensions of the at leastone cell, on the other hand may refer to reducing the associated size ofall information contained within the at least one cell, to fit withinthe dimensions of the at least one cell. Accordingly, a cell in anenhanced form may either have at least one of its dimensions increasedor comprise a piece of information with reduced dimensions. In otherembodiments, revealing the hidden information may include a combinationof enlarging the at least one cell and modifying a size of allinformation contained within the at least one cell in order to presentall the information contained within the at least one cell. In such asituation, a compromise may be found between dimensions that are toolarge for a cell and dimensions that are too small for a piece ofinformation. In some other embodiments, revealing the hidden informationmay include enlarging the dimensions of the at least one cell to thedimensions of the display, and if in the enlarged version of the atleast one cell not all of the hidden information is revealed, furthermodifying a size of the information to enable a presentation of all ofthe information contained in the enlarged version of the at least onecell.

FIGS. 3A and 3B illustrate two tables presented on a display comprisingrows and columns after reception of an enhancing scroll signal, the atleast one cell that initially contained more information than presentedon the display is in an enhanced form, in accordance with the disclosedembodiments. Tables illustrated in these figures correspond to table 200illustrated before in FIG. 2 wherein the three cells ((202-1/204-1),(202-3/204-1), (202-7/204-1)) that initially contained more informationthan presented on display 206 are now in an enhanced form wherein all ofthe information comprised in these cells is now visible. The textincluded in the first two cells (202-1/204-1, 202-3/204-1) is nowentirely displayed and the histogram included in the third cell(202-7/204-1) is now fully displayed. Note in the situation illustratedin FIGS. 3A and 3B table 200 is not entirely presented on display 206,the whole of table 200 is shown to get a sense of the actual dimensionsof table 200 wherein the three cells are in the enhanced form, portionsof table 200 that are not comprised within the dashed line are notpresented on display 206.

In some embodiments, the enlarged at least one cell may include at leastone of an increased height, an expansion in width, or an expansion inboth height and width. For example, as illustrated in FIG. 3A, theheight of the three cells ((202-1/204-1), (202-3/204-1), (202-7/204-1))has been increased, so that all the information comprised in these cellsis now visible. Note that in the situation illustrated in FIG. 3A, sincethe height of cells ((202-1/204-1), (202-3/204-1), (202-7/204-1)) hasbeen increased, table 200 no longer fits the vertical dimension ofdisplay 206, and only the first five rows (202-1 through 202-5) andfirst three columns (204-1 through 204-2) are presented on display 206.Further, in some embodiments, enlarging the at least one cell mayinclude increasing a first dimension of the at least one cell until itreaches a corresponding display dimension, and if the enlarged versionof the at least one cell is not sufficient to reveal all of the hiddeninformation, increasing a second dimension of the at least one cell. Forexample, referring to FIG. 3A, the enlargement of the three cells((202-1/204-1), (202-3/204-1), (202-7/204-1)) could have started byenlarging the width of these cells until the horizontal dimension ofdisplay 206 is reached and if in this situation not all hiddeninformation was revealed, the enlargement of the cells ((202-1/204-1),(202-3/204-1), (202-7/204-1)) could have continued by enlarging theheight of these cells. In yet other embodiments, enlarging the at leastone cell may include increasing a first dimension of the at least onecell until it reaches a first corresponding display dimension andincreasing a second dimension of the at least one cell beyond a secondcorresponding display dimension. In a situation where the informationincluded in the at least one cell has dimensions greater than thedimensions of the display, enlarging the at least one cell may requireincreasing at least one of the dimensions of the at least one cellbeyond one of the dimensions of the display.

In some embodiments, at least one dimension of one or more cellsadjacent to the at least one cell may remain unchanged. A cell adjacentto the at least one cell may refer to a cell that shares at least oneedge with the at least one cell. For example, as illustrated in FIG. 3B,in which the associated size of the information comprised in cells((202-1/204-1), (202-3/204-1), (202-7/204-1)) has been decreased to fitthe dimensions of cells ((202-1/204-1), (202-3/204-1), (202-7/204-1)),all the dimensions of all the cells adjacent to cells ((202-1/204-1),(202-3/204-1), (202-7/204-1)) may remain unchanged. In another example,as illustrated in FIG. 3A, in which the height of cells ((202-1/204-1),(202-3/204-1), (202-7/204-1)) has been increased to reveal all of thehidden information comprised in those cells, some of the cells adjacentto the cells ((202-1/204-1), (202-3/204-1), (202-7/204-1)), as cells(202-2/204-1), (202-3/204-1) and (202-6/204/1) have unchanged widths andheights, some of the cells adjacent to the cells ((202-1/204-1),(202-3/204-1), (202-7/204-1)) as cells (202-1/204-2), (202-3/204-2) and(202-7/204-2) have unchanged widths and increased heights.

In some embodiments, after the enhancing scroll signal terminates, theenlarged at least one cell may return to its original dimensions, or thesize of all information contained within the at least one cell mayreturn to its original size. The return to the original dimensions of atleast one cell or the return to the original size of a piece ofinformation included in at least one cell can occur independently of thefact that all the information hidden in at least one cell has beenrevealed. For example, in FIG. 3A, once the enhancing scroll signal iscompleted, the heights of cells ((202-1/204-1), (202-3/204-1),(202-7/204-1)) may return to their original values, and as shown in FIG.3B, once the enhancing scroll signal is completed, the sizes of thepieces of information comprised in cells ((202-1/204-1), (202-3/204-1),(202-7/204-1)) may return to their original associated sizes. Thus, thedisplay returns to the appearance as illustrated in FIG. 2 .

In some embodiments, the enhancing scroll signal may cause a font sizeto change. For example, as illustrated in FIG. 3B, during the process ofreducing the size of the texts comprised in cells ((202-1/204-1),(202-3/204-1)) the font size of the texts has been reduced. Further, insome embodiments, a minimum font size may be set and if, after reducingthe font size to the minimum font size, all of the information includedin the at least one cell is not revealed, the at least one cell may beenlarged. For example, referring to FIG. 3B, the font size of cell(202-3/204-1) may be less than a minimum font size, revealing the hiddeninformation of cell (202-3/204-1) could have been done by first reducingthe font size to the minimum font size, and then increasing the heightof cell (202-3/204-1) so that all the text included in that cell isdisplayed with the minimum font size.

In some embodiments, revealing the hidden information may furtherinclude enlarging the at least one cell, and wrapping one or more linesof text contained within the at least one cell. For example, in FIG. 3A,the height of cells ((202-1/204-1), (202-3/204-1)) has been increasedand the texts comprised in these cells are now entirely visible in aform where one or more line of these texts have been wrapped. In someembodiments, “wrapping” may involve a word processing or text-editingprocess or subroutine breaking lines of text, or lengthening lines oftext, automatically, to display an increased amount of text withincertain margins or boundaries, without requiring a user to manually moveor edit the text. In the context of the disclosed embodiments, wrappingmay cause the content of a cell to become more readily visible, or fullyvisible, when the dimensions of the cell are altered to yield additionalspace for displaying the content.

In some embodiments, the at least one processor lock the at least onecell in an enhanced form until an unlock signal is received. An unlocksignal may refer to a signal generated upon reception of any type ofuser input related to the display. Examples of user input may includemanipulating various controls on GUI components or performing aparticular movement. For example, a swipe motion or a pinching in motionmay result in the generation of an unlock signal. In some embodiments, amotion that is reversed from the enhancing motion may lead to thegeneration of a unlock signal. Examples of motion/reversed motion mayinclude pinching in/pinching out or scrolling beyond an end of atable/scrolling toward an end of a table. In some embodiments repeatingthe enhancing motion when the at least one cell is an enhanced form maylead to the generation of an unlock signal. For example, if theenhancement movement corresponds to a double tap on a particular portionof the screen, a further double tap on the particular portion of thescreen may lead to the generation of an unlock signal and trigger therestoration of an initial state in which the at least one cell includesmore information than that displayed. In some other embodiments, lockingthe at least one cell in an enhanced form, may include locking the atleast one cell only if all the hidden information comprised in the atleast one cell is revealed.

In some embodiments, in a situation wherein the at least one cell islocked in an enhanced form, and the unlock signal is not the result of amotion capable to scroll the table horizontally or vertically, one ormore scroll signals may be received for causing the table with the atleast one cell in an enhanced form to scroll vertically or horizontally.Referring to FIG. 3A, once cells ((202-1/204-1), (202-3/204-1),(202-7/204-1)) are locked in their enhanced form, a vertical scrollingsignal may be received to scroll vertically table 200 and present on thedisplay 206 portions of table 200 that were not visible before, such ascell (202-7/204-1) in an enhanced form.

In some embodiments, a system may be configured to perform tablenavigation operations on a display. As discussed herein, the table mayinclude rows and columns and at least one cell that contains moreinformation than it presents. The system may comprise a memory storinginstructions and at least one processor that executes the storedinstructions to perform operations. Consistent with FIG. 1 describedabove, the at least one processor may receive a scroll signal forscrolling the table, wherein the scroll signal results from a motion ofa user on the display. In response to a vertical component in themotion, the at least one processor may cause the table to scrollvertically. In response to a horizontal component in the motion, the atleast one processor may cause the table to scroll horizontally. The atleast one processor may receive an enhancing scroll signal resultingfrom an enhancing motion for revealing hidden information within the atleast one cell on the table. In response to the enhancing scroll signal,the at least one processor may reveal at least a portion of the hiddeninformation within the at least one cell.

FIG. 4 is a block diagram of an exemplary computing device 1200consistent with some embodiments. In some embodiments, computing device400 may be similar in type and function to user device 420, discussedwith respect to FIG. 5 . As shown in FIG. 4 , computing device 400 mayinclude processing circuitry 410, such as, for example, a centralprocessing unit (CPU). In some embodiments, the processing circuitry 410may include, or may be a component of, a larger processing unitimplemented with one or more processors. The one or more processors maybe implemented with any combination of general-purpose microprocessors,microcontrollers, digital signal processors (DSPs), field programmablegate array (FPGAs), programmable logic devices (PLDs), controllers,state machines, gated logic, discrete hardware components, dedicatedhardware finite state machines, or any other suitable entities that canperform calculations or other manipulations of information. Theprocessing circuitry such as processing circuitry 410 may be coupled viaa bus 405 to a memory 420.

The memory 420 may further include a memory portion 422 that may containinstructions that when executed by the processing circuitry 410, mayperform the method described in more detail herein. The memory 420 maybe further used as a working scratch pad for the processing circuitry410, a temporary storage, and others, as the case may be. The memory 420may be a volatile memory such as, but not limited to, random accessmemory (RAM), or non-volatile memory (NVM), such as, but not limited to,flash memory. The processing circuitry 410 may be further connected to anetwork device 440, such as a network interface card, for providingconnectivity between the computing device 400 and a network, such as anetwork 410, discussed in more detail with respect to FIG. 5 below. Theprocessing circuitry 410 may be further coupled with a storage device430. The storage device 430 may be used for the purpose of storingsingle data type column-oriented data structures, data elementsassociated with the data structures, or any other data structures. Whileillustrated in FIG. 4 as a single device, it is to be understood thatstorage device 430 may include multiple devices either collocated ordistributed.

The processing circuitry 410 and/or the memory 420 may also includemachine-readable media for storing software. “Software” as used hereinrefers broadly to any type of instructions, whether referred to assoftware, firmware, middleware, microcode, hardware descriptionlanguage, or otherwise. Instructions may include code (e.g., in sourcecode format, binary code format, executable code format, or any othersuitable format of code). The instructions, when executed by the one ormore processors, may cause the processing system to perform the variousfunctions described in further detail herein.

In some embodiments, computing device 400 may include one or more inputand output devices (not shown in figure). Computing device may alsoinclude a display 450, such as a touchscreen display or other displaytypes discussed herein.

FIG. 5 is a block diagram of computing architecture 500 that may be usedin connection with various disclosed embodiments. The computing device400, as described in connection with FIG. 4 , may be coupled to network510. The network 510 may enable communication between different elementsthat may be communicatively coupled with the computing device 400, asfurther described below. The network 510 may include the Internet, theworld-wide-web (WWW), a local area network (LAN), a wide area network(WAN), a metro area network (MAN), and other networks capable ofenabling communication between the elements of the computingarchitecture 500. In some disclosed embodiments, the computing device400 may be a server deployed in a cloud computing environment.

One or more user devices 520-1 through user device 520-m, where ‘m’ inan integer equal to or greater than 1, referred to individually as userdevice 520 and collectively as user devices 520, may be communicativelycoupled with the computing device 400 via the network 510. A user device520 may be for example, a smart phone, a mobile phone, a laptop, atablet computer, a wearable computing device, a personal computer (PC),a smart television and the like. A user device 520 may be configured tosend to and receive from the computing device 400 data and/or metadataassociated with a variety of elements associated with single data typecolumn-oriented data structures, such as columns, rows, cells, schemas,and the like.

One or more data repositories 530-1 through data repository 530-n, where‘n’ in an integer equal to or greater than 1, referred to individuallyas data repository 530 and collectively as data repository 530, may becommunicatively coupled with the computing device 400 via the network510, or embedded within the computing device 400. Each data repository530 may be communicatively connected to the network 510 through one ormore database management services (DBMS) 535-1 through DBMS 535-n. Thedata repository 530 may be for example, a storage device containing adatabase, a data warehouse, and the like, that may be used for storingdata structures, data items, metadata, or any information, as furtherdescribed below. In some embodiments, one or more of the repositoriesmay be distributed over several physical storage devices, e.g., in acloud-based computing environment. Any storage device may be a networkaccessible storage device, or a component of the computing device 400.

The embodiments disclosed herein are exemplary and any other means forperforming and facilitating display navigation operations may beconsistent with this disclosure.

The foregoing description has been presented for purposes ofillustration. It is not exhaustive and is not limited to the preciseforms or embodiments disclosed. Modifications and adaptations will beapparent to those skilled in the art from consideration of thespecification and practice of the disclosed embodiments.

Moreover, while illustrative embodiments have been described herein, thescope of any and all embodiments having equivalent elements,modifications, omissions, combinations (e.g., of aspects across variousembodiments), adaptations and/or alterations as would be appreciated bythose skilled in the art based on the present disclosure. Thelimitations in the claims are to be interpreted broadly based on thelanguage employed in the claims and not limited to examples described inthe present specification or during the prosecution of the application.The examples are to be construed as non-exclusive. Furthermore, thesteps of the disclosed methods may be modified in any manner, includingby reordering steps and/or inserting or deleting steps. It is intended,therefore, that the specification and examples be considered asillustrative only, with a true scope and spirit being indicated by thefollowing claims and their full scope of equivalents.

Unless otherwise defined, all technical and scientific terms used hereinhave the same meaning as commonly understood by one of ordinary skill inthe art. The materials, methods, and examples provided herein areillustrative only and not intended to be limiting.

Implementation of the method and system of the present disclosure mayinvolve performing or completing certain selected tasks or stepsmanually, automatically, or a combination thereof. Moreover, accordingto actual instrumentation and equipment of preferred embodiments of themethod and system of the present disclosure, several selected steps maybe implemented by hardware (HW) or by software (SW) on any operatingsystem of any firmware, or by a combination thereof. For example, ashardware, selected steps of the disclosure could be implemented as achip or a circuit. As software or algorithm, selected steps of thedisclosure could be implemented as a plurality of software instructionsbeing executed by a computer using any suitable operating system. In anycase, selected steps of the method and system of the disclosure could bedescribed as being performed by a data processor, such as a computingdevice for executing a plurality of instructions.

As used herein, the terms “machine-readable medium” “computer-readablemedium” refers to any computer program product, apparatus and/or device(e.g., magnetic discs, optical disks, memory, Programmable Logic Devices(PLDs)) used to provide machine instructions and/or data to aprogrammable processor, including a machine-readable medium thatreceives machine instructions as a machine-readable signal. The term“machine-readable signal” refers to any signal used to provide machineinstructions and/or data to a programmable processor.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include implementation in one or morecomputer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichmay be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device.

Although the present disclosure is described with regard to a “computingdevice”, a “computer”, or “mobile device”, it should be noted thatoptionally any device featuring a data processor and the ability toexecute one or more instructions may be described as a computing device,including but not limited to any type of personal computer (PC), aserver, a distributed server, a virtual server, a cloud computingplatform, a cellular telephone, an IP telephone, a smartphone, a smartwatch or a PDA (personal digital assistant). Any two or more of suchdevices in communication with each other may optionally comprise a“network” or a “computer network.”

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(a LED (light-emitting diode), or OLED (organic LED), or LCD (liquidcrystal display) monitor/screen) for displaying information to the userand a touch-sensitive layer such as a touchscreen, or keyboard and apointing device (e.g., a mouse or a trackball), by which the user canprovide input to the computer. Other kinds of devices can be used toprovide for interaction with a user as well; for example, feedbackprovided to the user can be any form of sensory feedback (e.g., visualfeedback, auditory feedback, or tactile feedback); and input from theuser can be received in any form, including acoustic, speech, or tactileinput.

The systems and techniques described here can be implemented in acomputing system that includes a back end component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a front end component (e.g., a client computerhaving a graphical user interface or a Web browser through which a usercan interact with an implementation of the systems and techniquesdescribed here), or any combination of such back end, middleware, orfront end components. The components of the system can be interconnectedby any form or medium of digital data communication (e.g., acommunication network). Examples of communication networks include alocal area network (“LAN”), a wide area network (“WAN”), and theInternet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

It should be appreciated that the above described methods and apparatusmay be varied in many ways, including omitting or adding steps, changingthe order of steps and the type of devices used. It should beappreciated that different features may be combined in different ways.In particular, not all the features shown above in a particularembodiment or implementation are necessary in every embodiment orimplementation of the invention. Further combinations of the abovefeatures and implementations are also considered to be within the scopeof some embodiments or implementations of the invention.

While certain features of the described implementations have beenillustrated as described herein, many modifications, substitutions,changes and equivalents will now occur to those skilled in the art. Itis, therefore, to be understood that the appended claims are intended tocover all such modifications and changes as fall within the scope of theimplementations. It should be understood that they have been presentedby way of example only, not limitation, and various changes in form anddetails may be made. Any portion of the apparatus and/or methodsdescribed herein may be combined in any combination, except mutuallyexclusive combinations. The implementations described herein can includevarious combinations and/or sub-combinations of the functions,components and/or features of the different implementations described.

Systems and methods disclosed herein involve unconventional improvementsover conventional approaches. Descriptions of the disclosed embodimentsare not exhaustive and are not limited to the precise forms orembodiments disclosed. Modifications and adaptations of the embodimentswill be apparent from consideration of the specification and practice ofthe disclosed embodiments. Additionally, the disclosed embodiments arenot limited to the examples discussed herein.

The foregoing description has been presented for purposes ofillustration. It is not exhaustive and is not limited to the preciseforms or embodiments disclosed. Modifications and adaptations of theembodiments will be apparent from consideration of the specification andpractice of the disclosed embodiments. For example, the describedimplementations include hardware and software, but systems and methodsconsistent with the present disclosure may be implemented as hardwarealone.

It is appreciated that the above described embodiments can beimplemented by hardware, or software (program codes), or a combinationof hardware and software. If implemented by software, it can be storedin the above-described computer-readable media. The software, whenexecuted by the processor can perform the disclosed methods. Thecomputing units and other functional units described in the presentdisclosure can be implemented by hardware, or software, or a combinationof hardware and software. One of ordinary skill in the art will alsounderstand that multiple ones of the above described modules/units canbe combined as one module or unit, and each of the above describedmodules/units can be further divided into a plurality of sub-modules orsub-units.

The block diagrams in the figures illustrate the architecture,functionality, and operation of possible implementations of systems,methods, and computer hardware or software products according to variousexample embodiments of the present disclosure. In this regard, eachblock in a flowchart or block diagram may represent a module, segment,or portion of code, which includes one or more executable instructionsfor implementing the specified logical functions. It should beunderstood that in some alternative implementations, functions indicatedin a block may occur out of order noted in the figures. For example, twoblocks shown in succession may be executed or implemented substantiallyconcurrently, or two blocks may sometimes be executed in reverse order,depending upon the functionality involved. Some blocks may also beomitted. It should also be understood that each block of the blockdiagrams, and combination of the blocks, may be implemented by specialpurpose hardware-based systems that perform the specified functions oracts, or by combinations of special purpose hardware and computerinstructions.

In the foregoing specification, embodiments have been described withreference to numerous specific details that can vary from implementationto implementation. Certain adaptations and modifications of thedescribed embodiments can be made. Other embodiments can be apparent tothose skilled in the art from consideration of the specification andpractice of the invention disclosed herein. It is intended that thespecification and examples be considered as example only, with a truescope and spirit of the invention being indicated by the followingclaims. It is also intended that the sequence of steps shown in figuresare only for illustrative purposes and are not intended to be limited toany particular sequence of steps. As such, those skilled in the art canappreciate that these steps can be performed in a different order whileimplementing the same method.

It will be appreciated that the embodiments of the present disclosureare not limited to the exact construction that has been described aboveand illustrated in the accompanying drawings, and that variousmodifications and changes may be made without departing from the scopethereof.

Other embodiments will be apparent to those skilled in the art fromconsideration of the specification and practice of the disclosedembodiments disclosed herein. It is intended that the specification andexamples be considered as exemplary only, with a true scope and spiritof the disclosed embodiments being indicated by the following claims.

Computer programs based on the written description and methods of thisspecification are within the skill of a software developer. The variousprograms or program modules can be created using a variety ofprogramming techniques. One or more of such software sections or modulescan be integrated into a computer system, non-transitory computerreadable media, or existing software.

This disclosure employs open-ended permissive language, indicating forexample, that some embodiments “may” employ, involve, or includespecific features. The use of the term “may” and other open-endedterminology is intended to indicate that although not every embodimentmay employ the specific disclosed feature, at least one embodimentemploys the specific disclosed feature.

Various terms used in the specification and claims may be defined orsummarized differently when discussed in connection with differingdisclosed embodiments. It is to be understood that the definitions,summaries and explanations of terminology in each instance apply to allinstances, even when not repeated, unless the transitive definition,explanation or summary would result in inoperability of an embodiment.

Moreover, while illustrative embodiments have been described herein, thescope includes any and all embodiments having equivalent elements,modifications, omissions, combinations (e.g., of aspects across variousembodiments), adaptations or alterations based on the presentdisclosure. The elements in the claims are to be interpreted broadlybased on the language employed in the claims and not limited to examplesdescribed in the present specification or during the prosecution of theapplication. These examples are to be construed as non-exclusive.Further, the steps of the disclosed methods can be modified in anymanner, including by reordering steps or inserting or deleting steps. Itis intended, therefore, that the specification and examples beconsidered as exemplary only, with a true scope and spirit beingindicated by the following claims and their full scope of equivalents.

What is claimed is:
 1. A non-transitory computer-readable mediumcontaining instructions that, when executed, cause at least oneprocessor to perform table navigation operations on a display, whereinthe table comprises rows and columns and at least one cell that containsmore information than presented on the display, the operationscomprising: receiving a scroll signal for scrolling the table, whereinthe scroll signal results from a motion of a user on the display; inresponse to a vertical component in the motion, causing the table toscroll vertically; in response to a horizontal component in the motion,causing the table to scroll horizontally; receiving an enhancing scrollsignal resulting from an enhancing motion for revealing hiddeninformation within the at least one cell on the table; and in responseto the enhancing scroll signal, revealing at least a portion of thehidden information within the at least one cell.
 2. The non-transitorycomputer-readable medium of claim 1, wherein revealing the hiddeninformation is progressive, and a ratio between an amount of theinformation revealed and an amount of information that is initiallyhidden is proportional to a length of the enhancing motion.
 3. Thenon-transitory computer-readable medium of claim 1, wherein theenhancing motion is different from a motion capable of scrolling thetable horizontally or vertically.
 4. The non-transitorycomputer-readable medium of claim 1, wherein the enhancing motioncorresponds to a motion capable of scrolling the table horizontally orvertically, a result of the motion corresponds to at least one of:revealing hidden information within the at least one cell on the tableif the motion is performed on a predetermined portion of the display;or, causing the table to scroll horizontally or vertically if the motionis performed on a portion different from the predetermined portion ofthe display.
 5. The non-transitory computer-readable medium of claim 1,wherein revealing the hidden information ceases after the enhancingmotion terminates.
 6. The non-transitory computer-readable medium ofclaim 1, wherein the hidden information is revealed for a predeterminedtime period.
 7. The non-transitory computer-readable medium of claim 1,wherein the enhancing scroll signal is based on a scroll motionperformed beyond an end of the table.
 8. The non-transitorycomputer-readable medium of claim 7, wherein the at least one cell islocated at a first end of the table or at a second end of the tableopposite the first end.
 9. The non-transitory computer-readable mediumof claim 7, wherein the hidden information is revealed while theenhanced scroll motion is performed on a predetermined portion of thedisplay.
 10. The non-transitory computer-readable medium of claim 7,where the operations further comprise, if the scroll signal exceeds athreshold, causing both scrolling and a partial revealing of the hiddeninformation.
 11. The non-transitory computer-readable medium of claim 1,wherein revealing the hidden information includes at least one of:enlarging the at least one cell in order to present all the informationcontained within the at least one cell; or modifying a size of allinformation contained within the at least one cell to enablepresentation of all the information contained within the at least onecell without changing dimensions of the at least one cell.
 12. Thenon-transitory computer-readable medium of claim 10, wherein at leastone dimension of one or more cells adjacent to the at least one cellremains unchanged.
 13. The non-transitory computer-readable medium ofclaim 10, wherein the enlarged at least one cell includes at least oneof an increased height, an expansion in width, or an expansion in bothheight and width.
 14. The non-transitory computer-readable medium ofclaim 10, wherein, after the enhancing scroll signal terminates, theenlarged at least one cell returns to its original dimensions, or thesize of all information contained within the at least one cell returnsto its original size.
 15. The non-transitory computer-readable medium ofclaim 10, wherein the enhancing scroll signal causes a font size tochange.
 16. The non-transitory computer-readable medium of claim 10,wherein revealing the hidden information further includes: enlarging theat least one cell; and wrapping one or more lines of text containedwithin the at least one cell.
 17. The non-transitory computer-readablemedium of claim 1, wherein the operations further include locking the atleast one cell in an enhanced form until an unlock signal is received.18. A system for performing table navigation operations on a display,wherein the table comprises rows and columns and at least one cell thatcontains more information than it presents, the system comprising: amemory storing instructions; and at least one processor that executesthe stored instructions to: receive a scroll signal for scrolling thetable, wherein the scroll signal results from a motion of a user on thedisplay; in response to a vertical component in the motion, cause thetable to scroll vertically; in response to a horizontal component in themotion, cause the table to scroll horizontally; receive an enhancingscroll signal resulting from an enhancing motion for revealing hiddeninformation within the at least one cell on the table; and in responseto the enhancing scroll signal, reveal at least a portion of the hiddeninformation within the at least one cell.
 19. The system of claim 18,wherein revealing the hidden information includes at least one of:enlarging the at least one cell in order to present all the informationcontained within the at least one cell; or modifying a size of allinformation contained within the at least one cell to enablepresentation of all the information contained within the at least onecell without changing dimensions of the at least one cell.
 20. A methodfor performing table navigation operations on a display, wherein thetable comprises rows and columns and at least one cell that containsmore information than it presents, the method comprising: receiving ascroll signal for scrolling the table, wherein the scroll signal resultsfrom a motion of a user on the display; in response to a verticalcomponent in the motion, causing the table to scroll vertically; inresponse to a horizontal component in the motion, causing the table toscroll horizontally; receiving an enhancing scroll signal resulting froman enhancing motion for revealing hidden information within the at leastone cell on the table; and in response to the enhancing scroll signal,revealing at least a portion of the hidden information within the atleast one cell.